diff options
Diffstat (limited to 'src/app/(main)/websites/[websiteId]/WebsiteControls.tsx')
| -rw-r--r-- | src/app/(main)/websites/[websiteId]/WebsiteControls.tsx | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/app/(main)/websites/[websiteId]/WebsiteControls.tsx b/src/app/(main)/websites/[websiteId]/WebsiteControls.tsx new file mode 100644 index 0000000..6223dbc --- /dev/null +++ b/src/app/(main)/websites/[websiteId]/WebsiteControls.tsx @@ -0,0 +1,40 @@ +import { Column, Grid, Row } from '@umami/react-zen'; +import { ExportButton } from '@/components/input/ExportButton'; +import { FilterBar } from '@/components/input/FilterBar'; +import { MonthFilter } from '@/components/input/MonthFilter'; +import { WebsiteDateFilter } from '@/components/input/WebsiteDateFilter'; +import { WebsiteFilterButton } from '@/components/input/WebsiteFilterButton'; + +export function WebsiteControls({ + websiteId, + allowFilter = true, + allowDateFilter = true, + allowMonthFilter, + allowDownload = false, + allowCompare = false, +}: { + websiteId: string; + allowFilter?: boolean; + allowDateFilter?: boolean; + allowMonthFilter?: boolean; + allowDownload?: boolean; + allowCompare?: boolean; +}) { + return ( + <Column gap> + <Grid columns={{ xs: '1fr', md: 'auto 1fr' }} gap> + <Row alignItems="center" justifyContent="flex-start"> + {allowFilter ? <WebsiteFilterButton websiteId={websiteId} /> : <div />} + </Row> + <Row alignItems="center" justifyContent={{ xs: 'flex-start', md: 'flex-end' }}> + {allowDateFilter && ( + <WebsiteDateFilter websiteId={websiteId} allowCompare={allowCompare} /> + )} + {allowDownload && <ExportButton websiteId={websiteId} />} + {allowMonthFilter && <MonthFilter />} + </Row> + </Grid> + {allowFilter && <FilterBar websiteId={websiteId} />} + </Column> + ); +} |